Applying Program Comprehension Techniques to Improve Software Inspections
نویسنده
چکیده
Software inspections are widely regarded as a cost-effective mechanism for removing defects in software, though performing them does not always reduce the number of customer-discovered defects. We present a case study in which an attempt was made to reduce such defects through inspection training that introduced program comprehension ideas. The training was designed to address the problem of understanding the artifact being reviewed, as well as other perceived deficiencies of the inspection process itself. Measures, both formal and informal, suggest that explicit training in program understanding may improve inspection effectiveness. The software technical review is a widely -recommended mechanism for software defect removal. Such reviews go by many names--inspections, Fagan-style inspections, code reviews, peer reviews, formal reviews---and exhibit significant variations among organizations [Fagan, Freedman, Gilb]. All such review methods rely on the self-evident notion that software professionals are likely to find defects in software if they actually look at the products they produce. A software technical review is a meeting--along with its preparation--in which a group of software professionals (peers) does exactly that. Types of reviews are distinguished from one another by the rules governing how that examination takes place and how it relates to the overall software development or maintenance process. Impressive claims are made for the efficacy of reviews [Humphrey]. What follows is a case study in which developers were given, along with traditional (and nontraditional) instruction, explicit instruction in program comprehension concepts and techniques. The case study suggests that software engineers often have poor strategies for understanding the artifacts they are called upon to review and that providing training in comprehension skills can improve their performance significantly. A Training Opportunity One of the authors (Rifkin) was engaged by a manufacturing firm that we will call Widget, Inc. ] Widget management, having read the literature on software inspections, had expected the introduction of this practice to produce a significant decline in customer-discovered defects. The anticipated decline had not occurred, however, either in the number or percentage of defects identified by customers. 1 The firm wishes to remain anonymous and does not want to divulge raw data on defects, which it considers proprietary. The data in this paper are presented in a manner intended to respect those wishes. SEW Proceedings 115 SEL-94-006 https://ntrs.nasa.gov/search.jsp?R=1995002482
منابع مشابه
Program Comprehension Techniques Improve Software Inspections: A Case Study
Software inspections are widely regarded as a costeffective mechanism for removing defects in software, though performing them does not always reduce the number of customer-discovered defects. We present a case study in which an attempt was made to reduce such defects through inspection training that introduced program comprehension ideas. The training was designed to address the problem of und...
متن کاملComprehension and Visualisation of Object-Oriented Code for Inspections
This paper considers the role of comprehension during the preparation and defect detection phases of the software inspection process. Software inspection is generally accepted as a useful technique for finding errors in both documents and code. However, there is no general agreement on how defects are best detected and, in particular, how much understanding of the product is required and how th...
متن کاملC-TRAIL: A Program Comprehension Approach for Leveraging Learning Models in Automated Code Trail Generation
With society's increasing utilization of (embedded) software, the amount of program source code is proliferating while the skilled human resources to maintain and evolve this code remain limited. Therefore, software tools are needed that can support and enhance program code comprehension. This paper focuses on program concept location and cognitive learning models, and contributes an automatic ...
متن کاملThe Role of Comprehension in Object-Oriented Code Inspections Summary of Work
The software inspection process was originally developed at IBM in 1972 and has established itself as an effective means of finding defects. The inspection process can be described as a series of stages; overview, individual preparation, group inspection, rework and follow-up. One active area of inspection research is looking at different defect detection methods. During the preparation stage, ...
متن کاملProbabilistic SynSet Based Concept Location
Concept location is a common task in program comprehension techniques, essential in many approaches used for software care and software evolution. An important goal of this process is to discover a mapping between source code and human oriented concepts. Although programs are written in a strict and formal language, natural language terms and sentences like identifiers (variables or functions n...
متن کامل